package stage_1_module_3.code.homework_3;

import java.util.HashMap;
import java.util.Scanner;
import java.util.Set;

/**
 *  准备一个 HashMap 集合，统计字符串"123,456,789,123,456"中每个数字字符串出现的次数并打印出来。 

 如： 
        123 出现了 2 次 
        456 出现了 2 次 
        789 出现了 1 次 
 * 
 * 
 * 思路:
 * 1.扫描字符串中的数字
 * 2.判断hashmap中是否有该数字的key，如果没有则新增值为1，如果有则原值+1再更新该key
 * 3.打印hashmap
 */
public class Answer {
    public static void main(String[] args) {
        HashMap<Integer,Integer> hm = new HashMap<>();
        System.out.println("输入要统计的数字字符串");
        Scanner sc1 = new Scanner(System.in);
        String s = sc1.next();
        sc1.close();

        // String s = "123,456,789,123,456";
        Scanner sc = new Scanner(s).useDelimiter(",");
        while (sc.hasNextInt()) {
            int n = sc.nextInt();
            // System.out.println(n);
            if (hm.containsKey(n)) {
                int ov = hm.get(n);
                hm.replace(n, ov, ov+1);
            } else {
                hm.put(n, 1);
            }
        }
        sc.close();
        Set<Integer> st = hm.keySet();
        for (Integer it : st) {
            System.out.println(it+"出现的次数"+hm.get(it));
        }
    }
}
